# print(lambda x, y: x + y) # 直接打印会是地址值
# print(lambda x, y: x + y()) # 直接打印会是地址值
# 那应该怎么使用？
# print((lambda x,y:x+y(1,2))) # 直接打印也是地址值
# 赋值，再去传参，跟正常的函数没区别
"""
lambda：关键字
x,y ： 形参
x+y ：表达式
"""
"""f = lambda x,y:x+y
print(f(1,2))"""

# 匿名函数和内置函数使用
# 比较以下薪资求薪资最高的那个人名
salarics = {"xiaolong3":3000,
            "xiaolong2":300000,
            "long1":1000,
            }
"""
ascii码值：
a是97，b是98，c是99，d100....z
A是65，B是66，C是67....
"""
# print(max(salarics)) # 比较的是字母大小，而不是value的大小
# 这个函数需要获得字典的value 这样才会比较value
def func(name):
    return salarics[name]
# print(func("xiaolong3")) # 3000
# print(max(salarics,key=func)) #  xiaolong2
# 转化成匿名函数
# print(max(salarics, key = lambda name: salarics[name]))

#薪资最少的
# print(min(salarics, key = lambda name: salarics[name]))

# 薪资反序
# print(sorted(salarics, key=lambda name: salarics[name], reverse=True))
"""list1 = [999, 22, 55555, 33, 44, 55]
print(sorted(list1)) # sorted排序后，相当于是一个新的列表了，原来的列表没有改变
# print(list1)
list1.sort() # 改变了原来的列表排序
print(list1)
"""

# 根据员工表中的薪资进行排序
s = [
    {'name':'龙仔','性别':'男','薪资':3000,'职位':'打工仔'},
    {'name':'曹賊','性别':'男','薪资':9000,'职位':'总经理'},
    {'name':'浩仔','性别':'男','薪资':8000,'职位':'副经理'},
    {'name':'雷子','性别':'男','薪资':5000,'职位':'督导'},
]
def func1(name):
    return name['薪资']

"""
a = sorted(s,key = func1, reverse=True)
print(a)
print("=================")
a1 = sorted(s,key = lambda a:a['薪资'] , reverse=True)
print(a1)"""

# 用于指定排序时所依据的键值。在这里，lambda b: b['薪资'] 是一个匿名函数，表示对每个字典元素 b，取其 '薪资' 键对应的值作为排序依据。








